package com.molichuxing.services.infrastructure.service;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.OfflineOrdersCreateDto;
import com.molichuxing.services.infrastructure.dto.response.OfflineOrdersDto;

import java.util.List;

/**
 * <p>
 * 线下支付订单排期
 * </p>
 *
 * @author zhaopenghui
 * @since 2019-08-21
 */
public interface OfflineOrdersService extends RootService {

    /**
     * 线下支付添加
     *
     * @param offlineOrdersList
     * @return
     * @throws Exception
     */
    public Boolean createOfflineOrders(List<OfflineOrdersCreateDto> offlineOrdersList) throws Exception;

    /**
     * 获取线下支付id
     *
     * @param orderCode
     * @param scheduleId
     * @return
     * @throws Exception
     */
    public Integer getOfflineId(Long orderCode, Integer scheduleId) throws Exception;

    /**
     * 线下支付订单排期
     *
     * @param offlineId
     * @return
     * @throws Exception
     */
    public OfflineOrdersDto getOfflineOrders(Integer offlineId) throws Exception;

    /**
     * 获取订单下所有支付id
     *
     * @param orderCode
     * @return
     * @throws Exception
     */
    public List<Integer> getOfflineIdList(Long orderCode) throws Exception;

    /**
     * 通过线下支付id获取排期id集合
     *
     * @param offlineId
     * @return
     */
    public List<Integer> getScheduleIdList(Integer offlineId);

    /**
     * 获取线下支付订单排期集合
     *
     * @param offlineId
     * @return
     */
    public List<OfflineOrdersDto> getOfflineOrdersList(Integer offlineId);
}
